/*
 * 一些常用的css功能
 */
// 清理浮动
.clearfix {
  zoom: 1; /* for IE6 IE7 */
  &:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
}

// Quick floats
.pull-left, .pull-right, .aside {
  display:inline;
}
.pull-right, .aside {
  float: right;
}
.pull-left {
  float: left;
}

// Toggling content
.hide {
  display: none;
}
.invisible {
  visibility: hidden;
}

// Text Color Emphasis
.text-inverse{
  color: @textInverseColor;
}
.text-warn {
  color: @textWarnColor;
}
.text-error {
  color: @textErrorColor;
}
.text-info {
  color: @textInfoColor;
}
.text-success {
  color: @textSuccessColor;
}

// Quick align
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-overflow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

// Element Emphasis
.strong {
  font-weight: bold;
}
.normal {
  font-size: @baseFontSize;
  font-style: normal;
  font-weight: 500;
}
.em {
  font-style: italic;
}

// Text size
.larger {
  font-size: 1.3em;
}
.large {
  font-size: 1.15em;
}
.small {
  font-size: .85em;
}
.smaller {
  font-size: .7em;
}

// 左右半子小间距，可以用于icon
.halfmr {
  margin-right: .5em;
}
.halfml {
  margin-left: .5em;
}


// gutter
.gutter {
  clear: both;
  display: block;
  content:" ";font-size: 0px;line-height: 0;
  height: @gutterWidth;
}
.gutter-large {
  clear: both;
  display: block;
  content:" ";font-size: 0px;line-height: 0;
  height: @largeGutterWidth;
}
.gutter-small {
  clear: both;
  display: block;
  content:" ";font-size: 0px;line-height: 0;
  height: @smallGutterWidth;
}
// vertical
.vgutter {
  .inline-block();
  content:" ";font-size: 0px;line-height: 0;
  width: @gutterWidth;
}
.vgutter-large {
  .inline-block();
  content:" ";font-size: 0px;line-height: 0;
  width: @largeGutterWidth;
}
.vgutter-small {
  .inline-block();
  content:" ";font-size: 0px;line-height: 0;
  width: @smallGutterWidth;
}

.close {
  .close();
}

// position:fixed expression实现
// 不建议多用，只在必要的时候使用，因为expression会非常消耗CPU，很多时候要求不是很高的地方可以使用js模拟实现
.fixed{
  position:fixed;
}
/* hack for ie6 */
.fixed-top, .fixed-right, .fixed-bottom, .fixed-left {
  _position:absolute;
}
/* 当不是 https 时，可以把 # 换成 about:blank 以提升效率 */
// fixed 闪动bug
html,html body {
  _background-image:url('about:blank');
  _background-attachment:fixed;
}
/* 相当于正常的 position:fixed; top:0;  */
.fixed-top {
  bottom:auto;
  top:0;
  _bottom:auto;
  _top:"expression(eval(document.documentElement.scrollTop))";
}
/* 相当于正常的 position:fixed;bottom:0px; */
.fixed-bottom {
  bottom:0;
  top:auto;
  _bottom:auto;
  _top:"expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))";
}
/* 相当于正常的 position:fixed;left:0px; */
.fixed-left {
  left:0;
  _position:absolute;
  right:auto;
  _left:"expression(eval(document.documentElement.scrollLeft))";
}
/* 相当于正常的 position:fixed;right:0; */
.fixed-right {
  right:0;
  left:auto;
  _right:auto;
  _left:"expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0))";
}